From 462eb0fc0efe4b24088ef0c74916dd691dcd2db0 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Thu, 15 Mar 2007 10:38:58 +0000 Subject: [PATCH] x86: 32on64 oversight in update_va_mapping Signed-off-by: Jan Beulich --- xen/arch/x86/mm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index b37ade4cb3..1c65070d15 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2768,7 +2768,9 @@ int do_update_va_mapping(unsigned long va, u64 val64, flush_tlb_one_mask(d->domain_dirty_cpumask, va); break; default: - if ( unlikely(get_user(vmask, (unsigned long *)bmap_ptr)) ) + if ( unlikely(!IS_COMPAT(d) ? + get_user(vmask, (unsigned long *)bmap_ptr) : + get_user(vmask, (unsigned int *)bmap_ptr)) ) rc = -EFAULT; pmask = vcpumask_to_pcpumask(d, vmask); flush_tlb_one_mask(pmask, va); -- 2.30.2